package com.br.sae.controls;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.crypto.Data;

import com.br.sae.conexaobd.SistemaDAO;
import com.br.sae.model.dao.TurmaBD;
import com.br.sae.model.entitys.Turma;

public class LogicaTurmaCrud implements Logica {

	@Override
	public String executa(HttpServletRequest req, HttpServletResponse res)
			throws Exception {
		String metodo = req.getParameter("Metodo");
		
		if(metodo.equals("inserirTurma")){
			String nome = req.getParameter("nome");
			String nivel = req.getParameter("nivel");
			String serie = req.getParameter("serie");
			String turno = req.getParameter("turno");
			SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
			Date data = new Date();
			String dataCriacao =  format.format(data);
			
			Turma turma = new Turma(nome, dataCriacao, nivel, turno, serie);
			inserirTurma(turma);
			return "/mvc?logica=LogicaFormTurmas";			
		}else if(metodo.equals("alterarTurma")){
			String nome = req.getParameter("nome");
			String nivel = req.getParameter("nivel");
			String serie = req.getParameter("serie");
			String turno = req.getParameter("turno");
			SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
			Date data = new Date();
			String dataCriacao =  format.format(data);
			
			Turma turma = new Turma(nome, dataCriacao, nivel, turno, serie);
			turma.setId(Integer.valueOf(req.getParameter("id")));			
			alterarTurma(turma);
			return "/mvc?logica=LogicaFormTurmas";			
		}else{
			excluirTurma(Integer.valueOf(req.getParameter("id")));
			return "/mvc?logica=LogicaFormTurmas";
		}

		
	}

	private void inserirTurma(Turma turma) {
		TurmaBD turmaBD = new TurmaBD();
		turmaBD.incluirTurma(turma);
	}

	private void alterarTurma(Turma turma) {
		TurmaBD turmaBD = new TurmaBD();
		turmaBD.alterarTurma(turma);
	}

	private void excluirTurma(int id) {
		TurmaBD turmaBD = new TurmaBD();
		SistemaDAO sis = new SistemaDAO();
		Turma turma = (Turma) sis.find(Turma.class, id);
		turmaBD.removerTurma(turma);
	}

}
